Business applications are traditionally implemented on top of online transaction processing (OLTP) application platforms. Such OLTP-oriented application platforms are built to be robust and reliable, and provide a variety of infrastructure services, e.g., user interfaces, report generation, business object repositories, software logistics and lifecycle management, persistency abstraction, etc. Typically, application platforms providing business services evolve slowly, over long periods of times. Many of these platforms are developed with proprietary programming languages or by different vendors, which makes them less flexible to add new functionality without extensive coding. In effect, OLTP-oriented application platforms are ideally tailored to the needs of end-user application implementations, but are less suited to provide open integration services for dynamic development and integration of new application services.
For example, business software vendor company SAP AG offers SAP Business Suite™ that is developed using Advanced Business Application Programming™ (ABAP™) language. SAP Business Suite™ provides an application platform for self contained business applications, e.g. enterprise resource planning (ERP), customer relationship management (CRM), human capital management (HCM), etc. However, SAP Business Suite™ does not support generic integration, composition or extensibility hubs, like Business Process Management (BPM) service, Enterprise Service Bus (ESB) service, etc. Instead, SAP AG offers SAP Composition Environment™ on Java™ application platform to provide infrastructure services (BPM, ESB, etc.) that act as open orchestration and collaboration layers to dynamically model business processes, and design and provide new business services.
Often, private computing environments are configured with two separate application platforms. One of the application platforms is required for the traditionally coded business applications that are utilized for running the business of a company. The other application platform provides an environment for dynamic modeling and support of new business processes. To install, setup, run and maintain two separate application platforms is inefficient and expensive. This is so at least because the two platforms use separate software lifecycle management tools and duplicated administration efforts, without sharing resources and exposing different usage paradigms.